<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=11"/>
<meta name="generator" content="Doxygen 1.12.0"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MDF Lib: mdf::MdfHelper Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/javascript" src="clipboard.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="cookie.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="utillib.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr id="projectrow">
  <td id="projectalign">
   <div id="projectname">MDF Lib<span id="projectnumber">&#160;2.2</span>
   </div>
   <div id="projectbrief">Interface against MDF 3/4 files</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.12.0 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
var searchBox = new SearchBox("searchBox", "search/",'.html');
/* @license-end */
</script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() { codefold.init(0); });
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function() {
  initMenu('',true,false,'search.php','Search',false);
  $(function() { init_search(); });
});
/* @license-end */
</script>
<div id="main-nav"></div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:d3d9a9a6595521f9666a5e94cc830dab83b65699&amp;dn=expat.txt MIT */
$(function(){ initResizable(false); });
/* @license-end */
</script>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<div id="MSearchResults">
<div class="SRPage">
<div id="SRIndex">
<div id="SRResults"></div>
<div class="SRStatus" id="Loading">Loading...</div>
<div class="SRStatus" id="Searching">Searching...</div>
<div class="SRStatus" id="NoMatches">No Matches</div>
</div>
</div>
</div>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacemdf.html">mdf</a></li><li class="navelem"><a class="el" href="classmdf_1_1_mdf_helper.html">MdfHelper</a></li>  </ul>
</div>
</div><!-- top -->
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="classmdf_1_1_mdf_helper-members.html">List of all members</a>  </div>
  <div class="headertitle"><div class="title">mdf::MdfHelper Class Reference</div></div>
</div><!--header-->
<div class="contents">

<p>Support class for the MDF library.  
</p>

<p><code>#include &lt;<a class="el" href="mdfhelper_8h_source.html">mdfhelper.h</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a id="pub-static-methods" name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a188742f53fbe31e14425fc06da1b55a6" id="r_a188742f53fbe31e14425fc06da1b55a6"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a188742f53fbe31e14425fc06da1b55a6">NanoSecToLocal</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:a188742f53fbe31e14425fc06da1b55a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Adds the time zone offset to the time stamp.  <br /></td></tr>
<tr class="separator:a188742f53fbe31e14425fc06da1b55a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f3c82d50f99650ae5068ffc8063ea61" id="r_a7f3c82d50f99650ae5068ffc8063ea61"><td class="memItemLeft" align="right" valign="top">static int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f3c82d50f99650ae5068ffc8063ea61">TimeZoneOffset</a> ()</td></tr>
<tr class="memdesc:a7f3c82d50f99650ae5068ffc8063ea61"><td class="mdescLeft">&#160;</td><td class="mdescRight">return the time zone offset in seconds.  <br /></td></tr>
<tr class="separator:a7f3c82d50f99650ae5068ffc8063ea61"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d3a60b5f4dde13b54f80a89895bf6b9" id="r_a7d3a60b5f4dde13b54f80a89895bf6b9"><td class="memItemLeft" align="right" valign="top">static int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7d3a60b5f4dde13b54f80a89895bf6b9">GmtOffsetNs</a> ()</td></tr>
<tr class="memdesc:a7d3a60b5f4dde13b54f80a89895bf6b9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the GMT offset in nanoseconds.  <br /></td></tr>
<tr class="separator:a7d3a60b5f4dde13b54f80a89895bf6b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9dca21f3656e8b7dfc7795ad31a2138e" id="r_a9dca21f3656e8b7dfc7795ad31a2138e"><td class="memItemLeft" align="right" valign="top">static int64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a9dca21f3656e8b7dfc7795ad31a2138e">DstOffsetNs</a> ()</td></tr>
<tr class="memdesc:a9dca21f3656e8b7dfc7795ad31a2138e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns the daylight saving time (DST) offset in nanoseconds.  <br /></td></tr>
<tr class="separator:a9dca21f3656e8b7dfc7795ad31a2138e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7af4f6bd644efeb45b8e8497520d1be7" id="r_a7af4f6bd644efeb45b8e8497520d1be7"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7af4f6bd644efeb45b8e8497520d1be7">NsToLocalIsoTime</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:a7af4f6bd644efeb45b8e8497520d1be7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a nanosecond since 1970 to a local ISO date and time string.  <br /></td></tr>
<tr class="separator:a7af4f6bd644efeb45b8e8497520d1be7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af8d093bccbbd087a2e126bb47e9ceba0" id="r_af8d093bccbbd087a2e126bb47e9ceba0"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#af8d093bccbbd087a2e126bb47e9ceba0">NsToCanOpenDateArray</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:af8d093bccbbd087a2e126bb47e9ceba0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts from nanoseconds to CANopen 7 byte Date array.  <br /></td></tr>
<tr class="separator:af8d093bccbbd087a2e126bb47e9ceba0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aea95c071fce3ed0fc9c43e51b8cf8de8" id="r_aea95c071fce3ed0fc9c43e51b8cf8de8"><td class="memItemLeft" align="right" valign="top">static std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aea95c071fce3ed0fc9c43e51b8cf8de8">NsToCanOpenTimeArray</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:aea95c071fce3ed0fc9c43e51b8cf8de8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts from nanoseconds to CANopen 6 byte Time array.  <br /></td></tr>
<tr class="separator:aea95c071fce3ed0fc9c43e51b8cf8de8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a01ae5b5eeb114dbeda27d14f556a2872" id="r_a01ae5b5eeb114dbeda27d14f556a2872"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a01ae5b5eeb114dbeda27d14f556a2872">CanOpenDateArrayToNs</a> (const std::vector&lt; uint8_t &gt; &amp;buffer)</td></tr>
<tr class="memdesc:a01ae5b5eeb114dbeda27d14f556a2872"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts from a CANopen 7 byte Date array to nanoseconds since 1970.  <br /></td></tr>
<tr class="separator:a01ae5b5eeb114dbeda27d14f556a2872"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa06f4a36bc0c226c5ebd55b12b016a48" id="r_aa06f4a36bc0c226c5ebd55b12b016a48"><td class="memItemLeft" align="right" valign="top">static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#aa06f4a36bc0c226c5ebd55b12b016a48">CanOpenTimeArrayToNs</a> (const std::vector&lt; uint8_t &gt; &amp;buffer)</td></tr>
<tr class="memdesc:aa06f4a36bc0c226c5ebd55b12b016a48"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts from a CANopen 6 byte Time array to nanoseconds since 1970.  <br /></td></tr>
<tr class="separator:aa06f4a36bc0c226c5ebd55b12b016a48"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7129f04876a4e66615b392720101c774" id="r_a7129f04876a4e66615b392720101c774"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7129f04876a4e66615b392720101c774">NanoSecToDDMMYYYY</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:a7129f04876a4e66615b392720101c774"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to local date DD:MM:YYYY string.  <br /></td></tr>
<tr class="separator:a7129f04876a4e66615b392720101c774"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7eb6a410caa1e10c4f6f23d2ad46a838" id="r_a7eb6a410caa1e10c4f6f23d2ad46a838"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7eb6a410caa1e10c4f6f23d2ad46a838">NanoSecToHHMMSS</a> (uint64_t ns_since_1970)</td></tr>
<tr class="memdesc:a7eb6a410caa1e10c4f6f23d2ad46a838"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to local time HH:MM:SS string.  <br /></td></tr>
<tr class="separator:a7eb6a410caa1e10c4f6f23d2ad46a838"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c4586c00bb1ab5968112836834f458d" id="r_a8c4586c00bb1ab5968112836834f458d"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8c4586c00bb1ab5968112836834f458d">NanoSecUtcToHHMMSS</a> (uint64_t timestamp_ns)</td></tr>
<tr class="memdesc:a8c4586c00bb1ab5968112836834f458d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to UTC time in 'HH:MM:SS' format.  <br /></td></tr>
<tr class="separator:a8c4586c00bb1ab5968112836834f458d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7f4300251cb46d8085cb5164e6631341" id="r_a7f4300251cb46d8085cb5164e6631341"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a7f4300251cb46d8085cb5164e6631341">NanoSecUtcToDDMMYYYY</a> (uint64_t timestamp_ns)</td></tr>
<tr class="memdesc:a7f4300251cb46d8085cb5164e6631341"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to UTC date in 'DD/MM/YYYY' format.  <br /></td></tr>
<tr class="separator:a7f4300251cb46d8085cb5164e6631341"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad9193732941e7e79d75a88162670ed40" id="r_ad9193732941e7e79d75a88162670ed40"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#ad9193732941e7e79d75a88162670ed40">NanoSecTzToHHMMSS</a> (uint64_t timestamp_ns, int16_t tz_offset_min, int16_t dst_offset_min)</td></tr>
<tr class="memdesc:ad9193732941e7e79d75a88162670ed40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to a time string in 'HH:MM:SS' format in a specified timezone.  <br /></td></tr>
<tr class="separator:ad9193732941e7e79d75a88162670ed40"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1ca40750f159a599a34c8d8e126badd9" id="r_a1ca40750f159a599a34c8d8e126badd9"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a1ca40750f159a599a34c8d8e126badd9">NanoSecTzToDDMMYYYY</a> (uint64_t timestamp_ns, int16_t tz_offset_min, int16_t dst_offset_min)</td></tr>
<tr class="memdesc:a1ca40750f159a599a34c8d8e126badd9"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts ns since 1970 UTC to a date string in 'DD/MM/YYYY' format in a specified timezone.  <br /></td></tr>
<tr class="separator:a1ca40750f159a599a34c8d8e126badd9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8c3d4c630de6852bf6539ac2d0c69469" id="r_a8c3d4c630de6852bf6539ac2d0c69469"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a8c3d4c630de6852bf6539ac2d0c69469">Trim</a> (std::string &amp;text)</td></tr>
<tr class="memdesc:a8c3d4c630de6852bf6539ac2d0c69469"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove white space from string.  <br /></td></tr>
<tr class="separator:a8c3d4c630de6852bf6539ac2d0c69469"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75b60e6dddc18d313e2c9aa80de64bca" id="r_a75b60e6dddc18d313e2c9aa80de64bca"><td class="memItemLeft" align="right" valign="top">static std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="#a75b60e6dddc18d313e2c9aa80de64bca">FormatDouble</a> (double value, uint8_t decimals, bool fixed=false, const std::string &amp;unit={})</td></tr>
<tr class="memdesc:a75b60e6dddc18d313e2c9aa80de64bca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a float to a string.  <br /></td></tr>
<tr class="separator:a75b60e6dddc18d313e2c9aa80de64bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0fa2c1d1a7fc70bee2f993f01c1aa175" id="r_a0fa2c1d1a7fc70bee2f993f01c1aa175"><td class="memItemLeft" align="right" valign="top"><a id="a0fa2c1d1a7fc70bee2f993f01c1aa175" name="a0fa2c1d1a7fc70bee2f993f01c1aa175"></a>
static uint64_t&#160;</td><td class="memItemRight" valign="bottom"><b>NowNs</b> ()</td></tr>
<tr class="memdesc:a0fa2c1d1a7fc70bee2f993f01c1aa175"><td class="mdescLeft">&#160;</td><td class="mdescRight">Return nano-seconds since 1970. <br /></td></tr>
<tr class="separator:a0fa2c1d1a7fc70bee2f993f01c1aa175"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a25f5958900a95201a49c558a1aa2d8ea" id="r_a25f5958900a95201a49c558a1aa2d8ea"><td class="memItemLeft" align="right" valign="top"><a id="a25f5958900a95201a49c558a1aa2d8ea" name="a25f5958900a95201a49c558a1aa2d8ea"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>Latin1ToUtf8</b> (const std::string &amp;latin1)</td></tr>
<tr class="memdesc:a25f5958900a95201a49c558a1aa2d8ea"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a Latin1 string to UTF8 string. <br /></td></tr>
<tr class="separator:a25f5958900a95201a49c558a1aa2d8ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6619fbbe8a58b58a53c64a804fa90d3d" id="r_a6619fbbe8a58b58a53c64a804fa90d3d"><td class="memItemLeft" align="right" valign="top"><a id="a6619fbbe8a58b58a53c64a804fa90d3d" name="a6619fbbe8a58b58a53c64a804fa90d3d"></a>
static std::string&#160;</td><td class="memItemRight" valign="bottom"><b>Utf16ToUtf8</b> (const std::wstring &amp;utf16)</td></tr>
<tr class="memdesc:a6619fbbe8a58b58a53c64a804fa90d3d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a wide UTF16 string to an UTF8 string. <br /></td></tr>
<tr class="separator:a6619fbbe8a58b58a53c64a804fa90d3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abb37a8dee20837d7e1d973d26f49a9a1" id="r_abb37a8dee20837d7e1d973d26f49a9a1"><td class="memItemLeft" align="right" valign="top"><a id="abb37a8dee20837d7e1d973d26f49a9a1" name="abb37a8dee20837d7e1d973d26f49a9a1"></a>
static std::wstring&#160;</td><td class="memItemRight" valign="bottom"><b>Utf8ToUtf16</b> (const std::string &amp;utf8)</td></tr>
<tr class="memdesc:abb37a8dee20837d7e1d973d26f49a9a1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a wide UTF8 string to an UTF16 string. <br /></td></tr>
<tr class="separator:abb37a8dee20837d7e1d973d26f49a9a1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d4549d6751b432656d0cd0f37479b04" id="r_a1d4549d6751b432656d0cd0f37479b04"><td class="memItemLeft" align="right" valign="top"><a id="a1d4549d6751b432656d0cd0f37479b04" name="a1d4549d6751b432656d0cd0f37479b04"></a>
static bool&#160;</td><td class="memItemRight" valign="bottom"><b>ComputerUseLittleEndian</b> ()</td></tr>
<tr class="memdesc:a1d4549d6751b432656d0cd0f37479b04"><td class="mdescLeft">&#160;</td><td class="mdescRight">Returns tru if this computer uses Little Endian. <br /></td></tr>
<tr class="separator:a1d4549d6751b432656d0cd0f37479b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad4336161b78bf69831fb113660c3cad1" id="r_ad4336161b78bf69831fb113660c3cad1"><td class="memItemLeft" align="right" valign="top"><a id="ad4336161b78bf69831fb113660c3cad1" name="ad4336161b78bf69831fb113660c3cad1"></a>
static std::vector&lt; uint8_t &gt;&#160;</td><td class="memItemRight" valign="bottom"><b>TextToByteArray</b> (const std::string &amp;text)</td></tr>
<tr class="memdesc:ad4336161b78bf69831fb113660c3cad1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Converts a text string to a byte array. <br /></td></tr>
<tr class="separator:ad4336161b78bf69831fb113660c3cad1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="a01ae5b5eeb114dbeda27d14f556a2872" name="a01ae5b5eeb114dbeda27d14f556a2872"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a01ae5b5eeb114dbeda27d14f556a2872">&#9670;&#160;</a></span>CanOpenDateArrayToNs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint64_t mdf::MdfHelper::CanOpenDateArrayToNs </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; uint8_t &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Converts from 7 byte CANopen date array to a uint64_t nanoseconds since</p><ol type="1">
<li>This format is used in CANopen protocol and in ASAM MDF files.</li>
</ol>
<p>7-byte CANopen date format: </p><ul>
<li>uint16_t Milliseconds since last minute </li>
<li>uint8_t Minute (0..59) </li>
<li>uint8_t Hour (0..23) </li>
<li>uint8_t Day in month (1..31) + Day in week (1 = Monday..7 = Sunday) </li>
<li>uint8_t Month (1..12) </li>
<li>uint8_t Year (0..99) <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>7-byte CANopen date array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nanoseconds since 1970-01-01 </dd></dl>
</li>
</ul>

</div>
</div>
<a id="aa06f4a36bc0c226c5ebd55b12b016a48" name="aa06f4a36bc0c226c5ebd55b12b016a48"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa06f4a36bc0c226c5ebd55b12b016a48">&#9670;&#160;</a></span>CanOpenTimeArrayToNs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint64_t mdf::MdfHelper::CanOpenTimeArrayToNs </td>
          <td>(</td>
          <td class="paramtype">const std::vector&lt; uint8_t &gt; &amp;</td>          <td class="paramname"><span class="paramname"><em>buffer</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Converts from nanoseconds since 1970-01-01 to a 6-byte CANopen time array This format is used in CANopen protocol and in ASAM MDF files.</p>
<p>6-byte CANopen time format: </p><ul>
<li>uint32_t Milliseconds since midnight </li>
<li>uint16_t Days since 1984</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">buffer</td><td>6-byte CANopen time array </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Nanoseconds since 1970-01-01 </dd></dl>

</div>
</div>
<a id="a9dca21f3656e8b7dfc7795ad31a2138e" name="a9dca21f3656e8b7dfc7795ad31a2138e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9dca21f3656e8b7dfc7795ad31a2138e">&#9670;&#160;</a></span>DstOffsetNs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int64_t mdf::MdfHelper::DstOffsetNs </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This function returns the current daylight saving time (DST) offset in nanoseconds. </p><dl class="section return"><dt>Returns</dt><dd>DST offset in nanoseconds. </dd></dl>

</div>
</div>
<a id="a75b60e6dddc18d313e2c9aa80de64bca" name="a75b60e6dddc18d313e2c9aa80de64bca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a75b60e6dddc18d313e2c9aa80de64bca">&#9670;&#160;</a></span>FormatDouble()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::FormatDouble </td>
          <td>(</td>
          <td class="paramtype">double</td>          <td class="paramname"><span class="paramname"><em>value</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">uint8_t</td>          <td class="paramname"><span class="paramname"><em>decimals</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool</td>          <td class="paramname"><span class="paramname"><em>fixed</em></span><span class="paramdefsep"> = </span><span class="paramdefval">false</span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>unit</em></span><span class="paramdefsep"> = </span><span class="paramdefval">{}</span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Converts a floating point value to a string using number of decimals.<br  />
It also fix rounding and returning a fixed decimals. Presenting fixed number of decimals means that it fills up the string with '0' characters.<br  />
 Example: Value: 1.23 and decimals 3,String: (Fixed = false) "1.23" (Fixed = true) "1.230"<br  />
 Optional it can append a unit to the string (Example: "1.23 m/s").<br  />
 </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">value</td><td>The floating point value.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">decimals</td><td>Max number of decimals.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">fixed</td><td>If it should show fixed number of decimals.</td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">unit</td><td>Appends a unit string to the output. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The formatted string. </dd></dl>

</div>
</div>
<a id="a7d3a60b5f4dde13b54f80a89895bf6b9" name="a7d3a60b5f4dde13b54f80a89895bf6b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7d3a60b5f4dde13b54f80a89895bf6b9">&#9670;&#160;</a></span>GmtOffsetNs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int64_t mdf::MdfHelper::GmtOffsetNs </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>This function returns the current GMT offset in nanoseconds. </p><dl class="section return"><dt>Returns</dt><dd>GMT offset in nanoseconds. </dd></dl>

</div>
</div>
<a id="a7129f04876a4e66615b392720101c774" name="a7129f04876a4e66615b392720101c774"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7129f04876a4e66615b392720101c774">&#9670;&#160;</a></span>NanoSecToDDMMYYYY()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecToDDMMYYYY </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a local date string with the 'DD:MM:YYYY' format, from an UTC time stamp nanoseconds since 1970-01-01 (midnight). The nanosecond timestamp is commonly used when transfer a timestamp. Note that this may not be used as epoch in different internal clocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nanoseconds since 1970 UTC </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Local date format 'DD:MM:YYYY' </dd></dl>

</div>
</div>
<a id="a7eb6a410caa1e10c4f6f23d2ad46a838" name="a7eb6a410caa1e10c4f6f23d2ad46a838"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7eb6a410caa1e10c4f6f23d2ad46a838">&#9670;&#160;</a></span>NanoSecToHHMMSS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecToHHMMSS </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a local time string with the 'HH:MM:ss' format, from an UTC time stamp nanoseconds since 1970-01-01 (midnight). The nanosecond timestamp is commonly used when transfer a timestamp. Note that this may not be used as epoch in different internal clocks.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nanoseconds since 1970 UTC </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Local date format 'HH:MM:SS' </dd></dl>

</div>
</div>
<a id="a188742f53fbe31e14425fc06da1b55a6" name="a188742f53fbe31e14425fc06da1b55a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a188742f53fbe31e14425fc06da1b55a6">&#9670;&#160;</a></span>NanoSecToLocal()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static uint64_t mdf::MdfHelper::NanoSecToLocal </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Adds the time zone offset and dst to the UTC nanoseconds since 1970. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nano-seconds since 1970 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>local time = system time + time zone offset </dd></dl>

</div>
</div>
<a id="a1ca40750f159a599a34c8d8e126badd9" name="a1ca40750f159a599a34c8d8e126badd9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1ca40750f159a599a34c8d8e126badd9">&#9670;&#160;</a></span>NanoSecTzToDDMMYYYY()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecTzToDDMMYYYY </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>timestamp_ns</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t</td>          <td class="paramname"><span class="paramname"><em>tz_offset_min</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t</td>          <td class="paramname"><span class="paramname"><em>dst_offset_min</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a date string in the 'DD/MM/YYYY' format based on a timestamp representing nanoseconds since 1970-01-01 (midnight) UTC, adjusted for a specified timezone and daylight saving time (DST) offset. This function is useful for converting a high-precision timestamp into a human-readable date in a specific timezone.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp_ns</td><td>Nanoseconds since 1970 UTC. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tz_offset_min</td><td>Timezone offset in minutes from UTC. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_min</td><td>Daylight saving time (DST) offset in minutes. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Date format 'DD/MM/YYYY' adjusted for the specified timezone and DST offset. </dd></dl>

</div>
</div>
<a id="ad9193732941e7e79d75a88162670ed40" name="ad9193732941e7e79d75a88162670ed40"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad9193732941e7e79d75a88162670ed40">&#9670;&#160;</a></span>NanoSecTzToHHMMSS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecTzToHHMMSS </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>timestamp_ns</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t</td>          <td class="paramname"><span class="paramname"><em>tz_offset_min</em></span>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int16_t</td>          <td class="paramname"><span class="paramname"><em>dst_offset_min</em></span>&#160;)</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a time string in the 'HH:MM:SS' format based on a timestamp representing nanoseconds since 1970-01-01 (midnight) UTC, adjusted for a specified timezone and daylight saving time (DST) offset. This function is useful for converting a high-precision timestamp into a human-readable time in a specific timezone.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp_ns</td><td>Nanoseconds since 1970 UTC. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">tz_offset_min</td><td>Timezone offset in minutes from UTC. </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">dst_offset_min</td><td>Daylight saving time (DST) offset in minutes. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Time format 'HH:MM:SS' adjusted for the specified timezone and DST offset. </dd></dl>

</div>
</div>
<a id="a7f4300251cb46d8085cb5164e6631341" name="a7f4300251cb46d8085cb5164e6631341"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f4300251cb46d8085cb5164e6631341">&#9670;&#160;</a></span>NanoSecUtcToDDMMYYYY()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecUtcToDDMMYYYY </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>timestamp_ns</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a UTC date string in the 'DD/MM/YYYY' format from a timestamp representing nanoseconds since 1970-01-01 (midnight) UTC. This function is useful for converting a high-precision timestamp into a human-readable date in UTC.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp_ns</td><td>Nanoseconds since 1970 UTC. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>UTC date format 'DD/MM/YYYY'. </dd></dl>

</div>
</div>
<a id="a8c4586c00bb1ab5968112836834f458d" name="a8c4586c00bb1ab5968112836834f458d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c4586c00bb1ab5968112836834f458d">&#9670;&#160;</a></span>NanoSecUtcToHHMMSS()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NanoSecUtcToHHMMSS </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>timestamp_ns</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Generates a UTC time string in the 'HH:MM:SS' format from a timestamp representing nanoseconds since 1970-01-01 (midnight) UTC. This is useful for converting a high-precision timestamp to a human-readable time format in UTC.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">timestamp_ns</td><td>Nanoseconds since 1970 UTC. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>UTC time format 'HH:MM:SS'. </dd></dl>

</div>
</div>
<a id="af8d093bccbbd087a2e126bb47e9ceba0" name="af8d093bccbbd087a2e126bb47e9ceba0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af8d093bccbbd087a2e126bb47e9ceba0">&#9670;&#160;</a></span>NsToCanOpenDateArray()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::vector&lt; uint8_t &gt; mdf::MdfHelper::NsToCanOpenDateArray </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Converts from nanoseconds since 1970-01-01 to a 7 byte CANopen date array This format is used in CANopen protocol and in ASAM MDF files.</p>
<p>7-byte CANopen date format: </p><ul>
<li>uint16_t Milliseconds since last minute </li>
<li>uint8_t Minute (0..59) </li>
<li>uint8_t Hour (0..23) </li>
<li>uint8_t Day in month (1..31) + Day in week (1 = Monday..7 = Sunday) </li>
<li>uint8_t Month (1..12) </li>
<li>uint8_t Year (0..99) <dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nanoseconds since 1970-01-01 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>7-byte CANopen date array </dd></dl>
</li>
</ul>

</div>
</div>
<a id="aea95c071fce3ed0fc9c43e51b8cf8de8" name="aea95c071fce3ed0fc9c43e51b8cf8de8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aea95c071fce3ed0fc9c43e51b8cf8de8">&#9670;&#160;</a></span>NsToCanOpenTimeArray()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::vector&lt; uint8_t &gt; mdf::MdfHelper::NsToCanOpenTimeArray </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Converts from nanoseconds since 1970-01-01 to a 6-byte CANopen time array This format is used in CANopen protocol and in ASAM MDF files.</p>
<p>6-byte CANopen time format: </p><ul>
<li>uint32_t Milliseconds since midnight </li>
<li>uint16_t Days since 1984</li>
</ul>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nanoseconds since 1970-01-01 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>6-byte CANopen date array </dd></dl>

</div>
</div>
<a id="a7af4f6bd644efeb45b8e8497520d1be7" name="a7af4f6bd644efeb45b8e8497520d1be7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7af4f6bd644efeb45b8e8497520d1be7">&#9670;&#160;</a></span>NsToLocalIsoTime()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static std::string mdf::MdfHelper::NsToLocalIsoTime </td>
          <td>(</td>
          <td class="paramtype">uint64_t</td>          <td class="paramname"><span class="paramname"><em>ns_since_1970</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">ns_since_1970</td><td>Nanosecond since 1970 </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Return a date and time string in format YYYY-MM-DD hh:mm:ss.ms </dd></dl>

</div>
</div>
<a id="a7f3c82d50f99650ae5068ffc8063ea61" name="a7f3c82d50f99650ae5068ffc8063ea61"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7f3c82d50f99650ae5068ffc8063ea61">&#9670;&#160;</a></span>TimeZoneOffset()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static int64_t mdf::MdfHelper::TimeZoneOffset </td>
          <td>(</td>
          <td class="paramname"><span class="paramname"><em></em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Returns the current used time zone offset in seconds </p><dl class="section return"><dt>Returns</dt><dd>Time offset in seconds </dd></dl>

</div>
</div>
<a id="a8c3d4c630de6852bf6539ac2d0c69469" name="a8c3d4c630de6852bf6539ac2d0c69469"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8c3d4c630de6852bf6539ac2d0c69469">&#9670;&#160;</a></span>Trim()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static void mdf::MdfHelper::Trim </td>
          <td>(</td>
          <td class="paramtype">std::string &amp;</td>          <td class="paramname"><span class="paramname"><em>text</em></span></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">
<p>Removes white spaces from the begin and end of the string </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">text</td><td>String to trim </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>include/mdf/<a class="el" href="mdfhelper_8h_source.html">mdfhelper.h</a></li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by&#160;<a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.12.0
</small></address>
</div><!-- doc-content -->
</body>
</html>
